在项目中,有时会遇到由多个BIM数据组成的场景。该类场景中,数据范围不大,但主要数据类型为BIM类型数据,数据精细且集中分布。
比如在一个工厂的场景中,存在有原料库,成品库,水处理设施,加热炉等建筑,每一栋建筑都是一个BIM模型。
每个模型都很精细,并且有很多类别组成,比如,一栋建筑可以由常规模型,窗,门,墙,结构框架,楼板,幕墙,屋顶,楼梯等等很多种类别。
如果按照常规的方式,一个类别对应一个图层,会使得图层的数量急剧膨胀;如果一栋建筑对应一个图层,也会导致性能与效果的问题。
如何组织处理该类数据,是本文档主要介绍的内容。
数据结构组织原则:内外分离、地上地下分离。
将所有建筑的外壳对象,整理到一个图层里面;再将所有建筑的内部结构对象整理到一个图层里面。通过设置图层的可见距离,在远处观察时,只加载建筑外壳的数据;进入到建筑内部时,再加载内部结构的数据。
例如:
建筑外轮廓图层:墙、窗、屋顶等对象
建筑内部结构图层:家具、结构连接、天花板、楼板边缘、卫浴装置、墙饰条等对象
将地上部分的模型与地下部分的模型,分离开来。通过开关按钮等控制方式,只加载需要观察的数据部分。
例如:
地上部分:地上管道、地上管件、地上软管
地下部分:地下管道、地下管件、地下软管
有的模型中,存在有共用次数成百上千的对象,它们是具有实例化信息的,比如螺丝钉、螺丝帽、铁轨枕木、电杆、绝缘子串等等。
可把该种类型的对象,单独提取出来,做为一个图层,通过点外挂的方式生成缓存 。
生成缓存:具体方法及步骤参考 Bentley导出插件点位+模型功能使用说明及注意事项,如果不是DGN格式的数据,且已经将BIM数据导出为UDBX格式的数据集,需要使用我们提供的工具,来生成支持点外挂的模型数据集。
以实际的一个项目数据进行说明:该项目中的BIM模型主要有:板坯库、水处理、成品库和加热炉。
建筑外轮廓:墙、窗、屋顶
室内地上:楼板、楼梯、结构基础、结构柱、结构框架、结构连接、栏杆扶手
室外地上:常规模型、坡道
地下(部分模型半地下):管道、管件、管道附件、管道隔热层、电缆桥架、电缆桥架配件
点外挂数据:机械装置、专用设备
建筑外轮廓:墙、窗、屋顶
室内地上:楼板、楼梯、结构基础、结构柱、结构框架、结构连接、结构加强板、栏杆扶手、风管、风管附件、风管管件、数据设备、门、卫浴装置
室外地上:常规模型、坡道
地下(部分模型半地下):管道、管件、管道附件、管道隔热层、电缆桥架、电缆桥架配件、线管、线管配件
点外挂数据:机械装置、专用设备、电气装置、电气设备
建筑外轮廓:墙、窗、屋顶
室内地上:卫浴装置、幕墙嵌板、柱、栏杆扶手、楼板、楼板边缘、楼梯、管道附件、结构基础、结构柱、结构框架、结构连接、软风管、门、风管、风管管件、风道末端
室外地上:常规模型、坡道、体量
地下(部分模型半地下):管道、管件、线管、线管配件
点外挂数据:机械装置、专用设备、照明设备、电器装置、电器设备、电缆桥架、电缆桥架配件
这样最终得到建筑外轮廓,室内地上,室外地上,地下,点外挂五个图层。
建筑外轮廓:瓦片边长600,过滤阈值2,LOD5层(30、50、75、100、100)、非实例化
室内地上:瓦片边长600,过滤阈值8,LOD5层(50、75、100、100、100),实例化
室外地上:瓦片边长400,过滤阈值16,LOD5层(30、50、75、100、100)、非实例化
地下:瓦片边长600,过滤阈值8,LOD5层(30、50、75、100、100)、非实例化
点外挂:瓦片边长600,过滤阈值8,LOD5层
桌面端处理数据时
1、如果是少量模型是共用的,不需要勾选实例化;
2、如果共用对象较多,类别又比较多的,常规生成缓存有较大切片,可以使用实例化
3、如果对象共用次数很多,使用点外挂模型的方式
4、注意控制场景中的图层数量不要过多,业务逻辑可以用功能实现(比如属性,而非图层),图层更适合解决性能问题。